Use*_*upt 10 apache .htaccess mod-rewrite
我已经搜索过这个问题,但我只是遇到了很难根据我的具体需求量身定制的具体答案.
假设我试图重写的URL是这样的:
http://www.example.org/test.php?whatever=something
Run Code Online (Sandbox Code Playgroud)
我想重写它,使它看起来像这样:
http://www.example.org/test/something
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
Jon*_*Lin 22
为了路由一个/test/something
内部重写的请求以便提供服务的内容/test.php?whatever=something
,您可以在文档根目录中的htaccess文件中使用这些规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?test/(.*?)/?$ /test.php?whatever=$1 [L]
Run Code Online (Sandbox Code Playgroud)
并且为了将查询字符串URL重定向到更好看的URL:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /test\.php\?whatever=([^\&\ ]+)
RewriteRule ^/?test\.php$ /test/%1? [L,R=301]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16197 次 |
最近记录: |