[英].htaccess RewriteRule doesn't do anything
抱歉,如果已经存在答案,我已经找到了,但是找不到任何遇到相同问题的人。 我的本地主机上启用了mod_rewrite,但是我刚刚制定的重写规则似乎不起作用。
Options -indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /Website
# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite index.php
RewriteRule ^Website([^/]*)/$ /Website/?action=$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>
我什至使用了这个mod重写生成器,但是生成的规则也不起作用。 我在本地安装的东西(如Wordpress)可以很好地重写URL,所以我编写的代码肯定有问题
我对.htaccess的东西不了解,所以我非常感谢我能得到的任何答案。
谢谢。
设置RewriteBase
,无需在RewriteRule
重新声明它
您的规则应为...
RewriteRule ^([^/]*)/$ /Website/?action=$1 [L]
会做到的! (这是考虑到您的正则表达式也可以:p)
编辑:(解释)
设置RewriteBase
mod_rewrite后,仅会查看该库之后的所有内容,因此RewriteRule绝对需要的是/Website/Website([^/]*)/
。
试试这个代码:
Options -indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /Website
# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite index.php
RewriteRule ^([^/]+)/?$ ?action=$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>
RewriteEngine On
RewriteBase /Website/
RewriteRule ^([^/.]+)/?$ ?action=$1 [L,QSA]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.