【发布时间】:2022-01-18 20:29:10
【问题描述】:
您好,过去 3 天我一直在使用 htaccess,似乎无法弄清楚为什么我的 htaccess 文件没有正确更改我的 url。
所以我试图将这个查询字符串 url 从 www.example.com/test/user-profile.php?id=4 变成 www.example.com/test/user-profile/4
url 中的 /test/ 不是文件,它是 public_html 主目录中的文件夹。
这是我的 htaccess 文件
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-l
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ /test/user-profile.php?id=$1 [L]
RewriteCond %{QUERY_STRING} ^id=([0-9]*)$
RewriteRule ^(.*)$ /test/user-profile/%1? [R=301,L]
到目前为止,它会转到 url www.example.com/test/user-profile/4,但它不会加载整个页面。刚刚卡住了,感谢您抽出宝贵时间
【问题讨论】:
-
您的
.htaccess文件在哪里? “它没有加载整个页面” - 你到底是什么意思? -
我的 .htaccess 文件位于 public_html 主文件夹中。它加载了页面,但大多数 css 不起作用,我的 application.js 文件是控制台日志记录
'Uncaught SyntaxError: Unexpected token '<' application.js:1
标签: apache .htaccess mod-rewrite url-rewriting query-string