小编Fel*_*a A的帖子

如何停止.htaccess循环

我不是htaccess文件的专家,我正在尝试看似非常简单的东西,但我无法做到.

我搜索并最终发现这里的东西可以用于我的使用,但事实并非如此.代码如下.

这是我需要的一个例子:

http://localhost/Test/TestScript.php显示这个:http://localhost/Test/TestScript/脚本在原始位置.

这些是我的规则(复制):

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /Test

## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]

## To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_FILENAME}.php [L]
Run Code Online (Sandbox Code Playgroud)

这条规则给出:

Forbidden You don't have permission to access ".../Test/TestScript.php on this server."

所以改为最后一行:

RewriteRule ^.*  http://localhost/Test/TestScript.php  [L]
Run Code Online (Sandbox Code Playgroud)

但现在得到这个错误:

The page isn't redirecting properly

希望这个地方有才华的人可以帮助我.谢谢.

apache .htaccess mod-rewrite

8
推荐指数
1
解决办法
9089
查看次数

从RewriteRule中排除文件夹/目录

我有一个非常标准的WordPress .htaccess,带有以下URL重写

# BEGIN WordPress 
<IfModule mod_rewrite.c>  
RewriteEngine On  
RewriteBase /  
RewriteRule ^index\.php$ - [L]  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule . /index.php [L]  
</IfModule> 
# END WordPress  
Run Code Online (Sandbox Code Playgroud)

WordPress安装在我的域根目录中.我在子文件夹中有一些其他脚本,例如/ opencart这些子文件夹包含自己的.htaccess文件.

不幸的是,似乎WordPress有时会劫持其中一些脚本的重写.

当遇到特定子文件夹(例如opencart)并使用这些子文件夹中的.htaccess中定义的规则时,如何让mod_rewrite忽略WordPress规则以重写?

wordpress .htaccess mod-rewrite

7
推荐指数
2
解决办法
4万
查看次数

标签 统计

.htaccess ×2

mod-rewrite ×2

apache ×1

wordpress ×1