Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 多个系统文件扩展名上的htaccess remove.php_.htaccess_Mod Rewrite - Fatal编程技术网

.htaccess 多个系统文件扩展名上的htaccess remove.php

.htaccess 多个系统文件扩展名上的htaccess remove.php,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,这是我的.htaccess。对于section.php上的系统生成URL,这可以正常工作。但是当我为article.php、product.php、page.php、contact.php添加额外的行时,它就不起作用了。关于添加多个mod重写的任何想法 RewriteEngine on RewriteCond %{HTTP_HOST} ^example.co.uk [NC] RewriteRule ^(.*)$ http://www.xampleco.uk/$1 [L,R=301] Rewri

这是我的.htaccess。对于section.php上的系统生成URL,这可以正常工作。但是当我为article.php、product.php、page.php、contact.php添加额外的行时,它就不起作用了。关于添加多个mod重写的任何想法

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.co.uk [NC] 
RewriteRule ^(.*)$ http://www.xampleco.uk/$1 [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 
RewriteRule ^index\.php$ http://www.xample.co.uk/ [R=301,L] 

RewriteEngine On 
RewriteBase /

# Redirect .php URLs to rewritten URLs
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.+)\.php$ $1 [L,QSA,R=301]

# Rewrite URLs for processing by router (section.php)
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.+)$ section.php?url=$1 [QSA,L,NC]

# These are working
Redirect 301 /files/example.pdf http://www.example.co.uk
Redirect 301 /section.php/11/1/life-drawing http://www.example.co.uk

# This is working, but leaves a trail of the url onto the redirect, ok but would be nice to be    cleaner
Redirect 301 /section/116/1/drawings http://www.example.co.uk

不要将
mod_rewrite
规则与
mod_别名
规则混用,并将重定向规则放在内部规则之前

Options -MultiViews
RewriteEngine On 
RewriteBase /

RewriteCond %{HTTP_HOST} ^example.co.uk [NC] 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 
RewriteRule ^index\.php$ http://www.xample.co.uk/ [R=301,L] 

RewriteRule ^files/example\.pdf$ / [L,R=302,NC]
RewriteRule ^section\.php/11/1/life-drawing/?$ / [L,R=302,NC]
RewriteRule ^section/116/1/drawings/?$ / [L,R=302,NC]

# To internally forward /dir/file to /dir/file.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ $1.php [L]

# Rewrite URLs for processing by router (section.php)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^article/(.+)$ article.php?url=$1 [QSA,L]

# Rewrite URLs for processing by router (section.php)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ section.php?url=$1 [QSA,L]

非常感谢您宝贵的回复。它可以工作,但如果我在section.php之后添加contact.php和page.php(如下面所示)#重写路由器处理的URL(section.php)RewriteCond%{REQUEST_FILENAME},它们就不能工作了-f RewriteRule^(+)$section.php?url=$1[QSA,L]#重写url供路由器处理(page.php)RewriteCond%{REQUEST_FILENAME}-f RewriteRule^(+)$page.php?url=$1[QSA,L]#重写路由器处理的url(contact.php)RewriteCond%{REQUEST_FILENAME}-重写规则^(+)$contact.php?url=$1[QSA,L]好的,我想做的是从所有url中去掉.php。系统在section.php上生成页面。article.php。contact.php和page.php,但无法使用multiview,因为重定向无法正常工作。这些来自cms的URL感谢,大多数页面都能正常工作,section.php,现在contact.php celiadickson.co.uk,但是page.php不在传记链接上。它在section.php上正常工作,重定向也能正常工作。非常感谢。但是article.php和product.php上的相同场景(如section.php)不起作用。也不能在/adminok上登录到站点admin,所以我不能在#Rewrite url for processing by router(article.php)RewriteCond%{REQUEST_FILENAME}下添加这个-f RewriteCond%{REQUEST_FILENAME}-重写规则^(+)$article.php?url=$1[QSA,L]是否还包括article.php和product.php的规则?